﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace myCompiler {
    public class AbstractSyntaxTree
    {
        public List<BasicAction> ActionList {
            get { return actionList; }
        }
        public List<SymbolItem> SymbolTable
        {
            get { return symboltable; }
        }
        private List<BasicAction> actionList = new List<BasicAction>();
        private List<SymbolItem> symboltable = new List<SymbolItem>();
    }

    public enum SymbolType
    {
        TypeInt,
        TypeString,
        TypeDouble
    }

    public class SymbolItem
    {
        public SymbolItem(string name,string value,SymbolType type)
        {
            this.SymbolType = type;
            this.SymbolName = name;
            this.SymbolValue = value;
        }
        public string SymbolName { get; set; }
        public string SymbolValue { get; set; }
        public SymbolType SymbolType { get; set; }
    }
}
